On utilise aussi une séquence permettant de valider les différentes options.
Demande | Spécification |
---|---|
1 | numéro d’envoi du SMS est paramétrable par l’automate |
2 | demande d’envoi du SMS par l’automate |
3 | modem inactive, surveillance d’un mot de vie appartenant à un automate |
4 | coupure de tension du modem, envoi d’un SMS |
5 | modem peut recevoir un message et le signaler à l’automate |
5.1 Numéro d’envoi du SMS
Demande | Spécification |
---|---|
1 | numéro d’envoi du SMS est paramétrable par l’automate |
5.1.1 Configuration de l’eWON

Exemple :
API_ENVOI_Num_tel = 6 66 92 55 97 soit le n° sans le 0 réservé pour les communication interne en France.
API_ENVOI_Indic_pays = 33 est l’indicatif pour les communications en France le "+" devant 33 est ajouté automatiquement par l’eWON.


Le tag API_ENVOI_Num_tel possède l’adresse Modbus registre 202.
⚠ Attention : ne pas oublier de cocher ☑ Utiliser le format 32-bit pour la communication Modbus.
Le tag API_ENVOI_Indic_pays possède l’adresse Modbus registre 201.
5.1.2 Configuration du M340 version 2


5.2 Demande envoi SMS par l’automate
Exigence | Spécification |
---|---|
2 | Table d’envoi de 160 caractères contenant un message SMS. Cette table est communicante avec un automate. Un mot de gestion permet la demande d’envoi du SMS par l’automate et le retour par le modem de l’opération. |
5.2.1 Configuration de l’eWON

Le tag API_ENVOI_MSG160 possède l’adresse Modbus registre 160.
Déclaration du tag API_ENVOI_StatusEnvoi pour l’acquittement par l’eWON de la demande automate d’envoi du message SMS : registre Modbus 205.

5.2.2 Configuration du M340


- 1 variable DMDE_ENVOI correspondant au 1 tag API_ENVOI_DmdeEnvoi ;
- 1 variable messagesms contentant le message du SMS au format chaîne ;
- 1 bit ok_envoi indiquant la réussite de l’opération.
5.2.3 Basic EnvoiMessageApi eWON M340

Mot clé | Définition |
---|---|
ONCHANGE | Executed when a tag changes. Valid for a change of value or configuration |
ONSTATUS | The EVTINFO parameter is set to the ACTIONID of the finished action when command is called.This function can be used to track success or failure of scheduled actions |
CreationMessageApi: MessageAEnvoyer$="" FOR a%= 1 TO 160 STEP 1 MessageAEnvoyer$=MessageAEnvoyer$+CHR$(GETIO("API_ENVOI_MSG"+STR$(a%))) NEXT a% Print "Message a envoyer par Api : " + MessageAEnvoyer$ RETURN
EnvoiMessageApi:
GoSub CreationMessageApi
//pour indiquer la prise en compte de la demande
Destinataire$ = "+" + STR$(INT(API_ENVOI_Indic_pays@)) + STR$(INT(API_ENV_Num_tel@)) + ",gsm,0"
SENDSMS Destinataire$, MessageAenvoyer$
EnvoiSMSApi = GETSYS PRG,"ACTIONID"
Print "SMS envoyé par Api"
END
Mot clé | Définition |
---|---|
GOSUB S1S1:...RETURN | When the GOSUB line is executed, the program continues but jumping to Label line.The program executes the code until the RETURN line is met. The RETURN command modifies theprogram pointer to the line immediately following the GOSUB Line. |
GETSYS PRG, "ACTIONID" | When the function returns, the GETSYS PRG, "ACTIONID" returns the ID of the scheduled action and allows tracking this action. It is also possible to program an ONSTATUS action that will be called when the action is finished (with or without success) |
Le numéro de téléphone est formaté avec "+", l’indicatif pays et le n° de téléphone pour la compatibilité avec la fonction SENDSMS.
Le SMS est envoyé avec la fonction SENDSMS.
La surveillance du résultat de l’envoi du SMS est lancée par la fonction GETSYS PRG, "ACTIONID en lien avec la fonction ONSTATUS de la section Init :
Status: k%=GETSYS PRG,"EVTINFO" // retour envoi SMS pour api If k%=EnvoiSMSApi Then REM l'action correspond au SENDSMS SETSYS PRG, "ACTIONID",k% l%=GETSYS PRG,"ACTIONSTAT" If k%=0 Then // L' envoi du SMS est termine avec succes Print "Envoi SMS api : Ok" API_ENVOI_StatusEnvoi@=2 Else Print "Envoi SMS api : NOk. Echec de l'envoi du SMS. Erreur " + Str$(l%) API_ENVOI_StatusEnvoi@=3 Endif Endif // retour envoi SMS pour lina If k%=EnvoiSMSLina Then REM l'action correspond au SENDSMS SETSYS PRG, "ACTIONID",k% l%=GETSYS PRG,"ACTIONSTAT" If l%=0 Then // L' envoi du SMS est termine avec succes Print "Envoi SMS Lina : Ok" LINA_ENVOI_StatusEnvoi@=2 Else Print "Envoi SMS Lina : NOk. Echec de l'envoi du SMS. Erreur " + Str$(l%) LINA_ENVOI_StatusEnvoi@=3 Endif Endif
5.2.4 Programme M340
Cette séquence permet d’envoyer un SMS sur mise à 1 du mot DEMANDE_ENVOI.
Remarque : les registres Modbus de l’eWON se lisent et s’écrivent avec un décalage de 1 soit par exemple API_ENVOI_StatusEnvoi = registre 205 se lit en 204.





Normalement l’eWON acquitte la demande par STATUS_ENVOI = 1, mais attente également du STATUS_ENVOI = 2 (SMS envoyé OK) et STATUS_ENVOI = 3 (SMS échec envoi). Tant qu’une de ces 3 réponses n’est pas obtenue, relecture du mot de STATUS

Attente du STATUS_ENVOI = 2 (SMS envoyé OK) et STATUS_ENVOI = 3 (SMS échec envoi). Tant qu’une de ces 2 réponses n’est pas obtenue, relecture du mot de STATUS.

Ce mot doit être récrit autre chose que 1 pour que la fonction ONCHANGE de l’eWON fonctionne à nouveau.

La variable MESSAGE_ENVOI est la chaîne de 160 caractères contenant le message à envoyer.
5.3 Surveillance d’un mot de vie automate
Exigence | Spécification |
---|---|
3 | Sur entrée modem inactive, surveillance d’un mot de vie appartenant à un automate. Si le mot de vie n’évolue plus, envoi d’un SMS pour le signaler |
5.3.1 Configuration de l’eWON

Déclaration jusqu’à 10 destinataires possible _1 à _10.
5.3.2 Configuration du M340

Déclaration du mot de vie pour envoi vers l’eWON.
Déclaration de tableaux (indic_pays et num_tel) contenant les numéros de réception des SMS .

5.3.3 Basic GereMotVie eWON M340

- Timer n°1 envoi le programme vers le label GereMotVie ;
- Timer n°2 mémorise dans la variable interne MotDeVie% la valeur du mot de vie automate MotDeVie@.
Mot clé | Définition |
---|---|
TSET | This function initializes the timer E1 at an E2 time base (in seconds). The timer is read by TGET. To stop a timer, E2 must be set to 0. |
ONTIMER | This command executes S1 command line when E1 expires.The EVTINFO parameter is set to the timer number when command is called. |

Si par 3 fois de suite soit 3 * 200 = 600 s, le mot de vie n’a pas évolué alors un SMS d’erreur est envoyé. Sinon le compteur est réinitialisé à zéro.
Le message SMS n’est envoyé aux différents destinataires que si l’indicateur pays est différent de 0.
À la fin de l’envoi le compteur « 3 fois de suite » est réinitialisé afin d’envoyer cycliquement le message toutes les 10 mn = 3*200 = 600 s
Remarque : Le compteur 3 fois de suite a été rajouté suite aux tests. Il arrivait que même si la communication était correcte, le mot de vie était identique (problème de tempo et temps de cycle).
5.3.4 Programme M340

- le bit opt_vie autorise ou inhibe l’envoi du mot de vie de l’automate vers l’eWON ;
- le bit opt_secu autorise ou inhibe l’envoi des numéros de téléphone de réception des SMS de sécurité (mot de vie et perte alimentation) vers l’eWON ;
- le bit opt_signal autorise ou inhibe la lecture du signal GSM depuis l’eWON.








5.4 Coupure de tension du modem, envoi de SMS
Exigence | Spécification |
---|---|
4 | Sur coupure de tension du modem, envoi d’un SMS pour le signaler. Le modem sera bien sûr secouru par batterie pour l’envoi. |
5.4.1 Configuration de l’eWON
5.4.2 Configuration du M340
5.4.3 Basic EnvoiDefautAlimSecteur eWON

On envoie alors un SMS contenant la message « Defaut alimentation secteur » .
On envoie alors un SMS contenant la message « Retour alimentation secteur ».
5.4.4 Programme M340
5.5 Signaler à l’automate le msg du modem
Exigence | Spécification |
---|---|
5 | Le modem peut recevoir un message et le signaler à l’automate. L’automate doit être capable de traiter le message reçu. |
5.5.1 Configuration de l’eWON
Le tag possède MSG1001 possède l’adresse Modbus registre 1001.
Le tag possède MSG1160 possède l’adresse Modbus registre 1160.
5.5.2 Configuration du M340
5.5.3 Basic ReceptionSMS eWON


Mot clé | Définition |
---|---|
ONSMS | Executed when a SMS is received (only for eWON with GSM/GPRS modem) |

Une boucle contrôle que le buffer de réception des SMS est vide avant de quitter la fonction. Il n’est pas possible de savoir combien de message SMS sont en attente de lecture.
